from fasc_api.client.doc_template_client import DocTemplateClient
from fasc_api.client.service_client import ServiceClient
from fasc_api.exception.exceptions import ClientException
from fasc_api.exception.exceptions import ServerException

from init_demo_data import InitDemoData
api_client = InitDemoData.api_client
access_token = ServiceClient.get_access_token_value(api_client)
api_client.set_access_token(access_token)


# 查询文档模板列表
def get_list_on_app_demo():
    try:
        data = {
            'ownerId': {
                'idType': '主体类型： corp: 企业 , person: 个人',
                'openCorpId': 'openCorpId所指定的企业',
                'openUserId': '如果idType为corp：该参数是可选参数，表示openCorpId所代表企业的成员用户(即企业经办人)。**注意：有些场景只关注企业主体信息，该参数不会生效**；  如果idType为person：该参数为必填，表示主体方是openUserId所指定的个人用户。'
            },
            'listFilter': {
                'docTemplateName': '文档模板名称'
            },
            'listPageNo': '询结果分页返回，此处指定第几页，如果不传默从第一页返回。页码从1开始，即首页为1',
            'listPageSize': '指定每页多少条数据，如果不传默认为100，单页最大100。'
        }
        res = DocTemplateClient.get_list(api_client, data)
        print(res)
    except ClientException as e:
        print(e.__str__())
    except ServerException as e:
        print(e.__str__())

# 获取文档模板详情
def get_detail_on_app_demo():
    try:
        data = {
            'ownerId': {
                'idType': '主体类型： corp: 企业 , person: 个人',
                'openCorpId': 'openCorpId所指定的企业',
                'openUserId': '如果idType为corp：该参数是可选参数，表示openCorpId所代表企业的成员用户(即企业经办人)。**注意：有些场景只关注企业主体信息，该参数不会生效**；  如果idType为person：该参数为必填，表示主体方是openUserId所指定的个人用户。'
            },
            'docTemplateId': '文档模板id'
        }
        res = DocTemplateClient.get_detail(api_client, data)
        print(res)
    except ClientException as e:
        print(e.__str__())
    except ServerException as e:
        print(e.__str__())

if __name__ == '__main__':
    get_list_on_app_demo()
    get_detail_on_app_demo()
